package com.lgcns.andteam2.todaymenu;

/**
 * 각종 상수 정의
 */
public class Constants {
    // Tab Spec
    public static final String TODAY_TAB_SPEC = "today";
    public static final String WEEK_TAB_SPEC = "week";
    
    // 식사 구분 코드
    public static final String BREAKFAST_GUBUN_CODE = "1";
    public static final String LUNCH_GUBUN_CODE = "2";
    public static final String DINNER_GUBUN_CODE = "3";
    // 식사 구분 명
    public static final String BREAKFAST_GUBUN = "아침";
    public static final String LAUNCH_GUBUN = "점심";
    public static final String DINNER_GUBUN = "저녁";
    public static final String[] GUBUN_NAMES = { BREAKFAST_GUBUN, LAUNCH_GUBUN, DINNER_GUBUN };
    
    /** 서버의 DB파일을 다운로드하여 임시 저장하는 파일명 */
    public static final String TMP_DB_FILE = "server_db.db";
    public static final String TMP_DB_ZIP_FILE = "server_db.zip";
    
    /** 아침 기준 시각 */
    public static final int BREAKFAST_HOUR = 10;
    /** 점심 기준 시각 */
    public static final int LUNCH_HOUR = 15;
    /** 저녁 기준 시각 */
    public static final int DINNER_HOUR = 0;

    public static final int LUNCH_ALARM_DIALOG = 1;
    public static final int DINNER_ALARM_DIALOG = 2;
    public static final String PREF_DB_VERSION = "db_version";
    public static final String PREF_PLACE_ID = "place_id";
    public static final String PREF_LUNCH_ALARM_ENABLED = "lunch_alarm_enabled";
    public static final String PREF_LUNCH_ALARM_TIME = "lunch_alarm_time";
    public static final String PREF_DEFAULT_LUNCH_ALARM_TIME = "11:50";
    public static final String PREF_DINNER_ALARM_ENABLED = "dinner_alarm_enabled";
    public static final String PREF_DINNER_ALARM_TIME = "dinner_alarm_time";
    public static final String PREF_DEFAULT_DINNER_ALARM_TIME = "17:50";

    // message id
    public static final int MSG_CHECK_SERVER_DB_VERSION = 1;
    public static final int MSG_CHECK_SERVER_DB_VERSION_END = 2;
    public static final int MSG_CHECK_SERVER_DB_VERSION_ERROR = 3;
    public static final int MSG_DOWNLOAD_DB_FILE = 4;
    public static final int MSG_UPDATE_PROGRESS_BAR = 5;
    public static final int MSG_DOWNLOAD_DB_FILE_END = 6;
    public static final int MSG_LOCAL_DB_UPDATED = 7;
    public static final int MSG_DOWNLOAD_DB_FILE_ERROR = 8;
    public static final int MSG_COPY_DB_FILE_ERROR = 9;
    
    // Dialog ID
    /** 서버의 DB 버전을 체크하는 Dialog */
    public static final int DIALOG_CHECK_SERVER_DB_VERSION = 1;
    /** 서버의 DB를 다운로드 하는 Dialog */
    public static final int DIALOG_DB_DOWNLOAD = 2;
    /** 서버의 DB를 다운로드 하다가 에러가 발생한 경우에 오류메시지를 보여주는 Dialog */
    public static final int DIALOG_DB_DOWNLOAD_ERROR = 3;
    /** 다운로드 받은 DB 파일을 로컬 DB 파일로 복사하다가 에러가 발생한 경우에 오류메시지를 보여주는 Dialog */
    public static final int DIALOG_DB_COPY_ERROR = 4;
    
    // Broadcast Action
    /** DB 데이터가 update 되었음을 알림 */
    public static final String ACTION_DB_UPDATED = "com.lgcns.andteam2.todaymenu.DB_UPDATED";
    /** 메뉴 미리 알림 설정이 변경되었음을 알림 */
    public static final String ACTION_ALARM_SETTING_CHANGED = "com.lgcns.andteam2.todaymenu.ACTION_ALARM_SETTING_CHANGED";
    /** 메뉴 미리 알림 시간이 되었음을 알림 */
    public static final String ACTION_NOTIFY_NEXT_MENU = "com.lgcns.andteam2.todaymenu.ACTION_NOTIFY_NEXT_MENU";
    // Alarm Request Code
    /** 메뉴 미리 알림을 설정하는 Alarm 에 사용되는 request ID */
    public static final int REQ_MENU_ALARM = 1;
    // Notification ID
    /** 메뉴 미리 알림 Notification ID */
    public static final int NOTI_ID_MENU_ALARM = 1;
    // Extra
    /** Notification을 취소해야 하는지 true/false로 지정 */
    public static final String EXTRA_REMOVE_NOTIFICATION = "com.lgcns.andteam2.todaymenu.EXTRA_REMOVE_NOTIFICATION";
    /** Notification에서 호출되는 경우 오늘 tab을 보여준다. true/false */
    public static final String EXTRA_SHOW_TODAY = "com.lgcns.andteam2.todaymenu.EXTRA_SHOW_TODAY";
}
